1100
How can I advance to the next line, once the user presses the ENTER key

// Occurs when the user presses a key while an object has the focus.
Procedure OnComKeyDown Short   llKeyCode Short   llShift
	Forward Send OnComKeyDown llKeyCode llShift
	Showln "KeyCode Before:" llKeyCode
	Get ComFormatABC "value = 13 ? 40 : value" llKeyCode Nothing Nothing to KeyCode
	Showln "KeyCode After:" llKeyCode
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "A" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComAppearance of hoEditor to OLEEtchedApp
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "B" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComAppearance of hoEditor1 to OLEEtchedApp
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h0
		Get ComAddItem of hoItems "Item A.1" to h0
		Set ComCellValue of hoItems h0 1 to "Item B.1"
		Get ComAddItem of hoItems "Item A.2" to h0
		Set ComCellValue of hoItems h0 1 to "Item B.2"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1099
I am using AddNew to add new records, but I can not see them into the control

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant voRecordset
	Get ComDataSource to voRecordset
	Handle hoRecordset
	Get Create (RefClass(cComRecordset)) to hoRecordset
	Set pvComObject of hoRecordset to voRecordset
		Send ComAddNew of hoRecordset Nothing Nothing
		Variant vo
		Get ComFields of hoRecordset to vo
		Handle ho
		Get Create (RefClass(cCom)) to ho
		Set pvComObject of ho to vo
			Variant voField
			Get ComItem of ho "A" to voField
			Handle hoField
			Get Create (RefClass(cComField)) to hoField
			Set pvComObject of hoField to voField
				Set ComValue of hoField to "new A"
			Send Destroy to hoField
		Send Destroy to ho
		Variant vo1
		Get ComFields of hoRecordset to vo1
		Handle ho1
		Get Create (RefClass(cCom)) to ho1
		Set pvComObject of ho1 to vo1
			Variant voField1
			Get ComItem of ho1 "B" to voField1
			Handle hoField1
			Get Create (RefClass(cComField)) to hoField1
			Set pvComObject of hoField1 to voField1
				Set ComValue of hoField1 to "new B"
			Send Destroy to hoField1
		Send Destroy to ho1
		Send ComUpdate of hoRecordset Nothing Nothing
	Send Destroy to hoRecordset
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Variant voFields
		Get ComFields to voFields
		Handle hoFields
		Get Create (RefClass(cComFields)) to hoFields
		Set pvComObject of hoFields to voFields
			Send ComAppend of hoFields "A" OLEadBSTR Nothing Nothing Nothing
		Send Destroy to hoFields
		Variant voFields1
		Get ComFields to voFields1
		Handle hoFields1
		Get Create (RefClass(cComFields)) to hoFields1
		Set pvComObject of hoFields1 to voFields1
			Send ComAppend of hoFields1 "B" OLEadBSTR Nothing Nothing Nothing
		Send Destroy to hoFields1
		Send ComOpen Nothing Nothing Nothing Nothing Nothing
		Send ComAddNew Nothing Nothing
		Variant vo2
		Get ComFields to vo2
		Handle ho2
		Get Create (RefClass(cCom)) to ho2
		Set pvComObject of ho2 to vo2
			Variant voField2
			Get ComItem of ho2 "A" to voField2
			Handle hoField2
			Get Create (RefClass(cComField)) to hoField2
			Set pvComObject of hoField2 to voField2
				Set ComValue of hoField2 to "Item A.1"
			Send Destroy to hoField2
		Send Destroy to ho2
		Variant vo3
		Get ComFields to vo3
		Handle ho3
		Get Create (RefClass(cCom)) to ho3
		Set pvComObject of ho3 to vo3
			Variant voField3
			Get ComItem of ho3 "B" to voField3
			Handle hoField3
			Get Create (RefClass(cComField)) to hoField3
			Set pvComObject of hoField3 to voField3
				Set ComValue of hoField3 to "Item B.1"
			Send Destroy to hoField3
		Send Destroy to ho3
		Send ComUpdate Nothing Nothing
		Send ComAddNew Nothing Nothing
		Variant vo4
		Get ComFields to vo4
		Handle ho4
		Get Create (RefClass(cCom)) to ho4
		Set pvComObject of ho4 to vo4
			Variant voField4
			Get ComItem of ho4 "A" to voField4
			Handle hoField4
			Get Create (RefClass(cComField)) to hoField4
			Set pvComObject of hoField4 to voField4
				Set ComValue of hoField4 to "Item A.2"
			Send Destroy to hoField4
		Send Destroy to ho4
		Variant vo5
		Get ComFields to vo5
		Handle ho5
		Get Create (RefClass(cCom)) to ho5
		Set pvComObject of ho5 to vo5
			Variant voField5
			Get ComItem of ho5 "B" to voField5
			Handle hoField5
			Get Create (RefClass(cComField)) to hoField5
			Set pvComObject of hoField5 to voField5
				Set ComValue of hoField5 to "Item B.2"
			Send Destroy to hoField5
		Send Destroy to ho5
		Send ComUpdate Nothing Nothing
	Set ComDataSource to rs
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellHasButton of hoItems h 0 to True
		Set ComCellValue of hoItems h 0 to "AddNew"
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
	Send Destroy to hoItems
	Set ComDetectAddNew to True
	Set ComDetectDelete to True
	Send ComEndUpdate
End_Procedure
1098
How can I create a new ADO recordset

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Variant voFields
		Get ComFields to voFields
		Handle hoFields
		Get Create (RefClass(cComFields)) to hoFields
		Set pvComObject of hoFields to voFields
			Send ComAppend of hoFields "A" OLEadBSTR Nothing Nothing Nothing
		Send Destroy to hoFields
		Variant voFields1
		Get ComFields to voFields1
		Handle hoFields1
		Get Create (RefClass(cComFields)) to hoFields1
		Set pvComObject of hoFields1 to voFields1
			Send ComAppend of hoFields1 "B" OLEadBSTR Nothing Nothing Nothing
		Send Destroy to hoFields1
		Send ComOpen Nothing Nothing Nothing Nothing Nothing
		Send ComAddNew Nothing Nothing
		Variant vo
		Get ComFields to vo
		Handle ho
		Get Create (RefClass(cCom)) to ho
		Set pvComObject of ho to vo
			Variant voField
			Get ComItem of ho "A" to voField
			Handle hoField
			Get Create (RefClass(cComField)) to hoField
			Set pvComObject of hoField to voField
				Set ComValue of hoField to "Item A.1"
			Send Destroy to hoField
		Send Destroy to ho
		Variant vo1
		Get ComFields to vo1
		Handle ho1
		Get Create (RefClass(cCom)) to ho1
		Set pvComObject of ho1 to vo1
			Variant voField1
			Get ComItem of ho1 "B" to voField1
			Handle hoField1
			Get Create (RefClass(cComField)) to hoField1
			Set pvComObject of hoField1 to voField1
				Set ComValue of hoField1 to "Item B.1"
			Send Destroy to hoField1
		Send Destroy to ho1
		Send ComUpdate Nothing Nothing
		Send ComAddNew Nothing Nothing
		Variant vo2
		Get ComFields to vo2
		Handle ho2
		Get Create (RefClass(cCom)) to ho2
		Set pvComObject of ho2 to vo2
			Variant voField2
			Get ComItem of ho2 "A" to voField2
			Handle hoField2
			Get Create (RefClass(cComField)) to hoField2
			Set pvComObject of hoField2 to voField2
				Set ComValue of hoField2 to "Item A.2"
			Send Destroy to hoField2
		Send Destroy to ho2
		Variant vo3
		Get ComFields to vo3
		Handle ho3
		Get Create (RefClass(cCom)) to ho3
		Set pvComObject of ho3 to vo3
			Variant voField3
			Get ComItem of ho3 "B" to voField3
			Handle hoField3
			Get Create (RefClass(cComField)) to hoField3
			Set pvComObject of hoField3 to voField3
				Set ComValue of hoField3 to "Item B.2"
			Send Destroy to hoField3
		Send Destroy to ho3
		Send ComUpdate Nothing Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1097
Do do I get the DAO version I have installed

Procedure OnCreate
	Forward Send OnCreate
	Variant v
Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft DAO 2.5/3.51 Compatibility Library' library
		Get ComVersion of hoPrivDBEngine to v
	Send Destroy to hoPrivDBEngine
	Showln v
	Variant v1
Handle hoPrivDBEngine1
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine1 // Import the 'Microsoft DAO 3.6 Object Library' library
		Get ComVersion of hoPrivDBEngine1 to v1
	Send Destroy to hoPrivDBEngine1
	Showln v1
	Variant v2
Handle hoPrivDBEngine2
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine2 // Import the 'Microsoft Office 15.0 Access database engine Object Library' library
		Get ComVersion of hoPrivDBEngine2 to v2
	Send Destroy to hoPrivDBEngine2
	Showln v2
End_Procedure
1096
How do I get a list of interfaces the object implemenets

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft Office 15.0 Access database engine Object Library' library
		Variant v
		Variant voDatabase
		Get ComOpenDatabase of hoPrivDBEngine "C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" Nothing Nothing Nothing to voDatabase
		Handle hoDatabase
		Get Create (RefClass(cComDatabase)) to hoDatabase
		Set pvComObject of hoDatabase to voDatabase
			Get ComOpenRecordset of hoDatabase "Orders" Nothing Nothing Nothing to v
		Send Destroy to hoDatabase
		Variant rs
		Move v to rs
	Send Destroy to hoPrivDBEngine
	Variant v1
Handle hoPropertiesList
	Get Create (RefClass(cComPropertiesList)) to hoPropertiesList // Import the 'ExPropertiesList 1.0 Control Library' library
		Get ComInterfaces of hoPropertiesList rs to v1
	Send Destroy to hoPropertiesList
	Showln v1
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1095
Do do I get the ADO version I have installed

Procedure OnCreate
	Forward Send OnCreate
	Variant v
Handle hoConnection
	Get Create (RefClass(cComConnection)) to hoConnection // Import the 'Microsoft ActiveX Data Objects 6.1 Library' library
		Get ComVersion of hoConnection to v
	Send Destroy to hoConnection
	Showln "ADO Version:" v
End_Procedure
1094
DAO, ACCDB, 120

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft Office 15.0 Access database engine Object Library' library
		Variant v
		Variant voDatabase
		Get ComOpenDatabase of hoPrivDBEngine "C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" Nothing Nothing Nothing to voDatabase
		Handle hoDatabase
		Get Create (RefClass(cComDatabase)) to hoDatabase
		Set pvComObject of hoDatabase to voDatabase
			Get ComOpenRecordset of hoDatabase "Orders" Nothing Nothing Nothing to v
		Send Destroy to hoDatabase
		Variant rs
		Move v to rs
	Send Destroy to hoPrivDBEngine
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1093
DAO, MDB, 120

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft Office 15.0 Access database engine Object Library' library
		Variant v
		Variant voDatabase
		Get ComOpenDatabase of hoPrivDBEngine "C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" Nothing Nothing Nothing to voDatabase
		Handle hoDatabase
		Get Create (RefClass(cComDatabase)) to hoDatabase
		Set pvComObject of hoDatabase to voDatabase
			Get ComOpenRecordset of hoDatabase "Orders" Nothing Nothing Nothing to v
		Send Destroy to hoDatabase
		Variant rs
		Move v to rs
	Send Destroy to hoPrivDBEngine
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1092
DAO, MDB

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft DAO 3.6 Object Library' library
		Variant v
		Variant voDatabase
		Get ComOpenDatabase of hoPrivDBEngine "C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" Nothing Nothing Nothing to voDatabase
		Handle hoDatabase
		Get Create (RefClass(cComDatabase)) to hoDatabase
		Set pvComObject of hoDatabase to voDatabase
			Get ComOpenRecordset of hoDatabase "Orders" Nothing Nothing Nothing to v
		Send Destroy to hoDatabase
		Variant rs
		Move v to rs
	Send Destroy to hoPrivDBEngine
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1091
ADODB, ACCDB, x64

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenKeyset OLEadLockReadOnly Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1090
ADOR, ACCDB

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1089
ADODB, MDB

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1088
ADOR, MDB

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1087
How can I display the row on multiple lines (excrd)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellFormatLevel to "[b=0]60;1[b=15]:60,((20;"<fgcolor=808080>Dateigröße"[b=1][a=2]:120,2[b=15])/(20;"<fgcolor=808080>Erstellt am"[a=2]:120,3[b=15])/(20;"<fgcolor=808080>Zuletzt bearbeitet"[b=4][a=2]:120,4[b=15]))"
			Set ComAllowSort of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 2 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
			Set ComFormatColumn of hoColumn2 to "1 index `A-Z`"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 3 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComVisible of hoColumn3 to False
			Variant voEditor1
			Get ComEditor of hoColumn3 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
			Set ComFormatColumn of hoColumn3 to "1 index ``"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 4 to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComVisible of hoColumn4 to False
			Variant voEditor2
			Get ComEditor of hoColumn4 to voEditor2
			Handle hoEditor2
			Get Create (RefClass(cComEditor)) to hoEditor2
			Set pvComObject of hoEditor2 to voEditor2
				Set ComEditType of hoEditor2 to OLEEditType
			Send Destroy to hoEditor2
			Set ComFormatColumn of hoColumn4 to "date(``)"
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Set ComDefaultItemHeight to 48
	Set ComDrawGridLines to OLEexRowLines
	Set ComGridLineStyle to OLEexGridLinesSolid
	Set ComViewModeOption OLEexTableView OLEexBorderWidth to 1
	Set ComViewModeOption OLEexTableView OLEexBorderHeight to 1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"")) 1 to "One"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"")) 1 to "Two"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"")) 1 to "Three"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1086
Type of wraps the cell's caption support (Sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderSingleLine to False
	Set ComHeaderHeight to 36
	Set ComDrawGridLines to OLEexRowLines
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Single-Line (exCaptionSingleLine)" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 96
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComDef of hoColumn OLEexCellSingleLine to -1
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Word-Wrap (exCaptionWordWrap)" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 96
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
			Set ComDef of hoColumn1 OLEexCellSingleLine to 0
			Set ComFormatColumn of hoColumn1 to "%0"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Break-Wrap (exCaptionBreakWrap)" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComWidth of hoColumn2 to 96
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
			Set ComDef of hoColumn2 OLEexCellSingleLine to 1
			Set ComFormatColumn of hoColumn2 to "%0"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line." to Nothing
		Get ComAddItem of hoItems "This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line." to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1085
Type of wraps the cell's caption support (Sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderSingleLine to False
	Set ComHeaderHeight to 36
	Set ComDrawGridLines to OLEexRowLines
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "This is the first line.\r\nThis is the second line.\r\nThis is the third line." to h
		Get ComAddItem of hoItems "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line." to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Get ComAddItem of hoItems "This is the first line.\r\nThis is the second line.\r\nThis is the third line." to h
		Set ComCellSingleLine of hoItems h 0 to OLEexCaptionWordWrap
		Get ComAddItem of hoItems "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line." to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellSingleLine of hoItems h 0 to OLEexCaptionWordWrap
		Get ComAddItem of hoItems "This is the first line.\r\nThis is the second line.\r\nThis is the third line." to h
		Set ComCellSingleLine of hoItems h 0 to OLEexCaptionBreakWrap
		Get ComAddItem of hoItems "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line." to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellSingleLine of hoItems h 0 to OLEexCaptionBreakWrap
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1084
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexRowLines
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellSingleLine of hoItems (ComAddItem(hoItems,"This is the first line.\r\nThis is the second line.\r\nThis is the third line.")) 0 to OLEexCaptionBreakWrap
		Get ComAddItem of hoItems "This is the first line.\r\nThis is the second line.\r\nThis is the third line." to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1083
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexRowLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 196
			Set ComDef of hoColumn OLEexCellSingleLine to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a ;methods>+</a><br>+ withdraw(amount: Currency)" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Get ComAddItem of hoItems "This is the first line.\r\nThis is the second line.\r\nThis is the third line." to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1082
How can I change the visual appearance/color of the Filter For ... field

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComBackColorHeader to (RGB(1,0,0))
	Set ComForeColorHeader to (RGB(255,255,255))
	Set ComBackground OLEexBackColorFilter to (ComBackColorHeader(Self))
	Set ComBackground OLEexForeColorFilter to (ComForeColorHeader(Self))
	Set ComBackground OLEexHeaderFilterBarButton to (RGB(240,240,240))
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderAppearance to OLEBump
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFilterOnType of hoColumn to True
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to OLEexNoItems
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1081
How can I display the cell's caption without spaces on both sides

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "    Item B" to Nothing
		Get ComAddItem of hoItems "        Item   C    " to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1080
How can I highlight the spaces within the column (sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "`'` + ( value replace ` ` with `_` ) + `'`"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "    Item B" to Nothing
		Get ComAddItem of hoItems "        Item   C    " to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1079
How can I highlight the spaces within the column (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "    Item B" to Nothing
		Get ComAddItem of hoItems "        Item   C    " to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1078
How can I change the visual aspect of the drop down filter-calendar

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComBackground OLEexBackColorFilter to (RGB(0,0,1))
	Set ComBackground OLEexForeColorFilter to (RGB(255,255,255))
	Set ComBackground OLEexDateScrollRange to (RGB(255,255,255))
	Set ComBackground OLEexDateHeader to (ComBackground(Self,OLEexBackColorFilter))
	Set ComBackground OLEexDateScrollThumb to (RGB(128,128,128))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFilterType of hoColumn to OLEexDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterDate of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
1077
How can I hide the filter bar description

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Filter" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilter of hoColumn to "B"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "A" to Nothing
		Get ComAddItem of hoItems "B" to Nothing
		Get ComAddItem of hoItems "C" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Set ComFilterBarHeight to 0
	Send ComEndUpdate
End_Procedure
1076
Export Data in HTML format

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComBackColorAlternate to (RGB(240,240,240))
	Set ComDrawGridLines to OLEexAllLines
	Set ComHeaderAppearance to OLEEtched
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarShowCloseIfRequired + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarPromptType to OLEexFilterPromptContainsAny
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%0 like `*parent*`" "parent" to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(192,192,192))
		Send Destroy to hoConditionalFormat
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats "%0 like `*child*`" "child" to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComForeColor of hoConditionalFormat1 to (RGB(255,128,128))
			Set ComApplyTo of hoConditionalFormat1 to OLEexFormatToColumns
		Send Destroy to hoConditionalFormat1
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats "%0 like `*B*`" "b" to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComForeColor of hoConditionalFormat2 to (RGB(0,0,255))
			Set ComBold of hoConditionalFormat2 to True
			Set ComItalic of hoConditionalFormat2 to True
			Set ComApplyTo of hoConditionalFormat2 to OLEexFormatToColumns
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
			Set ComHTMLCaption of hoColumn to "<b>VA</b><r>sko"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "APos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "0 apos ``"
			Set ComAllowSort of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellBackColor to 15790320
			Set ComDef of hoColumn1 OLEexCellForeColor to 8421504
			Set ComDef of hoColumn1 OLEexHeaderForeColor to (ComDef(hoColumn1,OLEexCellForeColor))
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "RPos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "0 rpos ``"
			Set ComAllowSort of hoColumn2 to False
			Set ComPosition of hoColumn2 to 1
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "Index" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatColumn of hoColumn3 to "0 index ``"
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterList of hoColumn3 to OLEexShowCheckBox
			Set ComPosition of hoColumn3 to 2
		Send Destroy to hoColumn3
		Variant voColumn4
		Get ComAdd of hoColumns "Data 1" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFormatColumn of hoColumn4 to "0 index `A-Z`"
			Set ComDef of hoColumn4 OLEexCellHasCheckBox to True
		Send Destroy to hoColumn4
		Variant voColumn5
		Get ComAdd of hoColumns "Data 2" to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFormatColumn of hoColumn5 to "0 index `AB` replace `A` with `<off -4>A</off>`"
			Set ComDef of hoColumn5 OLEexCellSingleLine to False
			Set ComDef of hoColumn5 OLEexCellValueFormat to 1
			Set ComDef of hoColumn5 OLEexCellHasRadioButton to True
		Send Destroy to hoColumn5
		Variant voColumn6
		Get ComAdd of hoColumns "Data 3" to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFormatColumn of hoColumn6 to "0 index `CDC` replace `D` with `<b>D</b>`"
			Set ComDef of hoColumn6 OLEexCellValueFormat to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "ParentA" to h
		Get ComInsertItem of hoItems h "Child A" to Nothing
		Get ComInsertItem of hoItems h "Child B" to Nothing
		Set ComCellState of hoItems h 4 to 1
		Set ComCellBackColor of hoItems (ComInsertItem(hoItems,h,"Child C")) 5 to (RGB(0,255,0))
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "ParentB" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComCellBackColor of hoItems (ComInsertItem(hoItems,h,"Child 3")) 5 to (RGB(0,255,0))
		Set ComCellState of hoItems h 5 to 1
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
		Get ComAddItem of hoItems "Item D" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Variant sFile
	Move "c:/temp/export.html" to sFile
	Get ComExport sFile "vis" to Nothing
	Handle hoShellBrowserWindow
	Get Create (RefClass(cComShellBrowserWindow)) to hoShellBrowserWindow // Import the 'Microsoft Internet Controls' library
		Get ComNavigate2 of hoShellBrowserWindow sFile Nothing Nothing Nothing Nothing to Nothing
	Send Destroy to hoShellBrowserWindow
End_Procedure
1075
Export Data in CSV format

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComBackColorAlternate to (RGB(240,240,240))
	Set ComDrawGridLines to OLEexAllLines
	Set ComHeaderAppearance to OLEEtched
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarShowCloseIfRequired + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarPromptType to OLEexFilterPromptContainsAny
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%0 like `*parent*`" "parent" to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(192,192,192))
		Send Destroy to hoConditionalFormat
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats "%0 like `*child*`" "child" to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComForeColor of hoConditionalFormat1 to (RGB(255,128,128))
			Set ComApplyTo of hoConditionalFormat1 to OLEexFormatToColumns
		Send Destroy to hoConditionalFormat1
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats "%0 like `*B*`" "b" to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComForeColor of hoConditionalFormat2 to (RGB(0,0,255))
			Set ComBold of hoConditionalFormat2 to True
			Set ComItalic of hoConditionalFormat2 to True
			Set ComApplyTo of hoConditionalFormat2 to OLEexFormatToColumns
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
			Set ComHTMLCaption of hoColumn to "<b>VA</b><r>sko"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "APos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "0 apos ``"
			Set ComAllowSort of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellBackColor to 15790320
			Set ComDef of hoColumn1 OLEexCellForeColor to 8421504
			Set ComDef of hoColumn1 OLEexHeaderForeColor to (ComDef(hoColumn1,OLEexCellForeColor))
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "RPos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "0 rpos ``"
			Set ComAllowSort of hoColumn2 to False
			Set ComPosition of hoColumn2 to 1
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "Index" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatColumn of hoColumn3 to "0 index ``"
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterList of hoColumn3 to OLEexShowCheckBox
			Set ComPosition of hoColumn3 to 2
		Send Destroy to hoColumn3
		Variant voColumn4
		Get ComAdd of hoColumns "Data 1" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFormatColumn of hoColumn4 to "0 index `A-Z`"
			Set ComDef of hoColumn4 OLEexCellHasCheckBox to True
		Send Destroy to hoColumn4
		Variant voColumn5
		Get ComAdd of hoColumns "Data 2" to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFormatColumn of hoColumn5 to "0 index `AB` replace `A` with `<off -4>A</off>`"
			Set ComDef of hoColumn5 OLEexCellSingleLine to False
			Set ComDef of hoColumn5 OLEexCellValueFormat to 1
			Set ComDef of hoColumn5 OLEexCellHasRadioButton to True
		Send Destroy to hoColumn5
		Variant voColumn6
		Get ComAdd of hoColumns "Data 3" to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFormatColumn of hoColumn6 to "0 index `CDC` replace `D` with `<b>D</b>`"
			Set ComDef of hoColumn6 OLEexCellValueFormat to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "ParentA" to h
		Get ComInsertItem of hoItems h "Child A" to Nothing
		Get ComInsertItem of hoItems h "Child B" to Nothing
		Set ComCellState of hoItems h 4 to 1
		Set ComCellBackColor of hoItems (ComInsertItem(hoItems,h,"Child C")) 5 to (RGB(0,255,0))
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "ParentB" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComCellBackColor of hoItems (ComInsertItem(hoItems,h,"Child 3")) 5 to (RGB(0,255,0))
		Set ComCellState of hoItems h 5 to 1
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
		Get ComAddItem of hoItems "Item D" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Showln (ComExport(Self,"","vis"))
End_Procedure
1074
Is it possible to check multiple-items at once

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant bHasParent
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemParent of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value != 0" vA Nothing Nothing to bHasParent
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellHasCheckBox of hoItems1 llItem 0 to bHasParent
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Set ComSingleSel to False
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Variant h
		Get ComAddItem of hoItems2 "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems2 h "Task 1" to hChild
		Get ComInsertItem of hoItems2 h "Task 2" to hChild
		Get ComInsertItem of hoItems2 h "Task 3" to hChild
		Set ComExpandItem of hoItems2 h to True
		Set ComLockedItemCount of hoItems2 OLEexTop to 1
		Set ComCellValue of hoItems2 (ComLockedItem(hoItems2,OLEexTop,0)) 0 to "<c>Select multiple items and press the <b>SPACE</b> key"
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
1073
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Variant vB
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComCellImages of hoItems i c to vB
	Send Destroy to hoItems
	Showln (ComFormatABC(Self,"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,vB,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImages of hoItems1 (ComAddItem(hoItems1,"Item 1")) 0 to "3,2,1"
		Set ComCellImages of hoItems1 (ComAddItem(hoItems1,"Item 2")) 0 to "2,3"
		Set ComCellImages of hoItems1 (ComAddItem(hoItems1,"Item 3")) 0 to "2,"
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1072
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Showln (ComFormatABC(Self,"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit,Nothing,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellImages of hoItems (ComAddItem(hoItems,"Item 1")) 0 to "3,2,1"
		Set ComCellImages of hoItems (ComAddItem(hoItems,"Item 2")) 0 to "2,3"
		Set ComCellImages of hoItems (ComAddItem(hoItems,"Item 3")) 0 to "2"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1071
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Get ComAdd of hoColumns "Column 2" to Nothing
		Get ComAdd of hoColumns "Column 3" to Nothing
	Send Destroy to hoColumns
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=" to Nothing
		Get ComAdd of hoAppearance 2 "CP:1 0 -36 0 0" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexColumnsPositionSign to |CI$2000000
	Send ComEndUpdate
End_Procedure
1070
How can I add a title column

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 22
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Col 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Col 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 pos ``"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Col 3" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 pos `A-`"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Col 4" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "1 pos `A-Z`"
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "Title" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComExpandColumns of hoColumn3 to "0,1,2,3"
			Set ComDisplayExpandButton of hoColumn3 to False
			Set ComAllowSort of hoColumn3 to False
			Set ComAllowDragging of hoColumn3 to False
			Set ComPosition of hoColumn3 to 0
			Set ComHeaderAlignment of hoColumn3 to OLECenterAlignment
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Set ComColumnAutoResize to False
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
		Get ComAddItem of hoItems "Item 4" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
	Showln (ComExport(Self,"",Nothing))
End_Procedure
1069
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemBackColor of hoItems llItem to (RGB(240,240,240))
		Variant val
		Get ComCellValue of hoItems llItem (ComGroupItem(hoItems,llItem)) to val
		Variant v
			Get ComFormatABC "A = `Checked` ? 1 : 0" val Nothing Nothing to v
		Set ComCellState of hoItems llItem (ComGroupItem(hoItems,llItem)) to v
	Send Destroy to hoItems
End_Procedure

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComItemToIndex of hoItems1 llItem to vA
	Send Destroy to hoItems1
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellImage of hoItems2 llItem 3 to i
	Send Destroy to hoItems2
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 rpos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems3
	Get ComItems to voItems3
	Handle hoItems3
	Get Create (RefClass(cComItems)) to hoItems3
	Set pvComObject of hoItems3 to voItems3
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems3 "Item B" to h
		Set ComCellValue of hoItems3 h 1 to "Sub-Item B"
		Set ComCellState of hoItems3 h 2 to 1
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems3
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComAllowGroupBy to True
	Set ComSortBarVisible to True
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 2 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFormatColumn of hoColumn5 to "%CS2 ? `Checked` : `Unchecked`"
			Set ComSortOrder of hoColumn5 to OLESortAscending
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Send ComEndUpdate
End_Procedure
1068
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Set ComDefaultItemHeight to 20
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==" to Nothing
	Send Destroy to hoAppearance
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Position" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 rindex ``"
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%C1 mod 2" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to |CI$1000000
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
		Get ComAddItem of hoItems "Item 4" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1067
How can I specify alternate background colors for each root item, similar with BackColorAlternate

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Position" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%C1 mod 2" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(240,240,240))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComAddItem of hoItems "Root 3" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1066
Is it possible to change the caption from a column without to remove the column and add it with the new caption
Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "ColumnName" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComCaption of hoColumn to "NewName"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "ColumnName" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "<b>New</b>Name"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
End_Procedure
1065
FilterBarCaption ALL Keyword ( sample 2, result )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1064
FilterBarCaption ALL Keyword ( sample 1 )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "all"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1063
FilterBarCaption ALLUI Keyword ( sample 2, result )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1062
FilterBarCaption ALLUI Keyword ( sample 1 )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "allui"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1061
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1060
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant i
	Variant vA
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemToIndex of hoItems llItem to vA
	Send Destroy to hoItems
	Get ComFormatABC "value + 1" vA Nothing Nothing to i
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellImage of hoItems1 llItem 3 to i
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Check" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComDisplayFilterPattern of hoColumn2 to False
			Set ComFilterType of hoColumn2 to OLEexCheck
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Image" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDisplayFilterButton of hoColumn3 to True
			Set ComFilterType of hoColumn3 to OLEexImage
			Set ComFilterList of hoColumn3 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComAdd of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComAllowSizing of hoColumn4 to False
			Set ComAllowSort of hoColumn4 to False
			Set ComWidth of hoColumn4 to 32
			Set ComFormatColumn of hoColumn4 to "1 apos ``"
			Set ComPosition of hoColumn4 to 0
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item A")) 1 to "Sub-Item A"
		Variant h
		Get ComAddItem of hoItems2 "Item B" to h
		Set ComCellValue of hoItems2 h 1 to "Sub-Item B"
		Set ComCellState of hoItems2 h 2 to 1
		Set ComCellValue of hoItems2 (ComAddItem(hoItems2,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems2
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080> ` + value + ` </fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "value + ` ` + available"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 0 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComFilterType of hoColumn5 to OLEexFilter
			Set ComFilter of hoColumn5 to "Item A|Item B"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 2 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComFilter of hoColumn6 to 1
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1059
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Pos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAllowSizing of hoColumn2 to False
			Set ComAllowSort of hoColumn2 to False
			Set ComWidth of hoColumn2 to 32
			Set ComFormatColumn of hoColumn2 to "1 apos ``"
			Set ComPosition of hoColumn2 to 0
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item A")) 1 to "Sub-Item A"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item B")) 1 to "Sub-Item B"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080>` + value + `</fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
	Set ComFilterBarPromptVisible to OLEexFilterBarToggle
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComItem of hoColumns3 0 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFilterType of hoColumn3 to OLEexFilter
			Set ComFilter of hoColumn3 to "Item A|Item B"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 1 to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFilterType of hoColumn4 to OLEexPattern
			Set ComFilter of hoColumn4 to "*B"
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1058
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Pos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAllowSizing of hoColumn2 to False
			Set ComAllowSort of hoColumn2 to False
			Set ComWidth of hoColumn2 to 32
			Set ComFormatColumn of hoColumn2 to "1 apos ``"
			Set ComPosition of hoColumn2 to 0
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item A")) 1 to "Sub-Item A"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item B")) 1 to "Sub-Item B"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080>` + value + `</fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
	Set ComFilterBarPromptVisible to OLEexFilterBarToggle
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComItem of hoColumns3 0 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFilterType of hoColumn3 to OLEexFilter
			Set ComFilter of hoColumn3 to "Item A|Item B"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 1 to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFilterType of hoColumn4 to OLEexPattern
			Set ComFilter of hoColumn4 to "*B"
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1057
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Col-1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Col-2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Pos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAllowSizing of hoColumn2 to False
			Set ComAllowSort of hoColumn2 to False
			Set ComWidth of hoColumn2 to 32
			Set ComFormatColumn of hoColumn2 to "1 apos ``"
			Set ComPosition of hoColumn2 to 0
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item A")) 1 to "Sub-Item A"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item B")) 1 to "Sub-Item B"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item C")) 1 to "Sub-Item C"
	Send Destroy to hoItems
	Set ComDescription OLEexFilterBarAnd to (ComFormatABC(Self,"`<fgcolor=808080>` + value + `</fgcolor>`",(ComDescription(Self,OLEexFilterBarAnd)),Nothing,Nothing))
	Set ComFilterBarCaption to "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
	Set ComFilterBarPromptVisible to OLEexFilterBarToggle
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComItem of hoColumns3 0 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFilterType of hoColumn3 to OLEexFilter
			Set ComFilter of hoColumn3 to "Item A|Item B"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 1 to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFilterType of hoColumn4 to OLEexPattern
			Set ComFilter of hoColumn4 to "*B"
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1056
Is it possible to automatically displays the control's filter label to the right

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarCaption to "`<r>` + value"
	Set ComFilterBarPromptVisible to (OLEexFilterBarShowCloseOnRight + OLEexFilterBarToggle)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1055
How can I get the number of results/items being shown in the control's filter bar (sample 4)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarPrompt to (ComFormatABC(Self,"`<b>` + value",(ComFilterBarPrompt(Self)),Nothing,Nothing))
	Set ComFilterBarCaption to "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarShowCloseOnRight + OLEexFilterBarShowCloseIfRequired + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Send ComEndUpdate
End_Procedure
1054
How can I get the number of results being shown in the control's filter bar (sample 3)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarCaption to "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1053
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarCaption to "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarSingleLine + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1052
How can I get the number of results being shown in the control's filter bar (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarCaption to "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1051
FilterBarCaption Predefined Keywords

// Fired after an item is expanded (collapsed).
Procedure OnComAfterExpandItem HITEM   llItem
	Forward Send OnComAfterExpandItem llItem
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Check" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor
			Get ComEditor of hoColumn1 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComDisplayFilterPattern of hoColumn1 to False
			Set ComFilterType of hoColumn1 to OLEexCheck
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Pos" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAllowSizing of hoColumn2 to False
			Set ComAllowSort of hoColumn2 to False
			Set ComWidth of hoColumn2 to 32
			Set ComFormatColumn of hoColumn2 to "1 apos ``"
			Set ComPosition of hoColumn2 to 0
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Variant h
		Get ComAddItem of hoItems "Item B" to h
		Set ComCellState of hoItems (ComInsertItem(hoItems,h,"Sub-Item B1")) 1 to 1
		Get ComInsertItem of hoItems h "Sub-Item B2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterInclude to OLEexItemsWithChilds
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarCaption to "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + `</fgcolor>`"
	Set ComFilterBarPromptPattern to "B"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComItem of hoColumns3 0 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFilterType of hoColumn3 to OLEexFilter
			Set ComFilter of hoColumn3 to "Item A|Item B"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1050
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarFont to (ComFont(Self))
	Set ComFilterBarCaption to "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
	Set ComFilterBarPromptPattern to "B"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1049
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to (OLEexFilterBarShowCloseOnRight + OLEexFilterBarToggle + OLEexFilterBarPromptVisible)
	Set ComFilterBarPrompt to (ComFormatABC(Self,"`<r>` + value",(ComFilterBarPrompt(Self)),Nothing,Nothing))
	Send ComEndUpdate
End_Procedure
1048
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComRightToLeft to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to (OLEexFilterBarToggle + OLEexFilterBarPromptVisible)
	Send ComEndUpdate
End_Procedure
1047
How can I change the visual appearance of the filter bar's close button (EBN)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAkjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ" to Nothing
	Send Destroy to hoAppearance
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to (OLEexFilterBarToggle + OLEexFilterBarPromptVisible)
	Set ComBackground OLEexFooterFilterBarButton to |CI$1000000
	Send ComEndUpdate
End_Procedure
1046
How can I change the visual appearance of the filter bar's close button (solid)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComBackground OLEexFooterFilterBarButton to (RGB(255,0,0))
	Send ComEndUpdate
End_Procedure
1045
Is it possible to prevent definitely showing the filter bar's close button

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComBackground OLEexFooterFilterBarButton to -1
	Send ComEndUpdate
End_Procedure
1044
Is it possible to show the close button only if there is a filter applied

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to (OLEexFilterBarShowCloseIfRequired + OLEexFilterBarPromptVisible)
	Send ComEndUpdate
End_Procedure
1043
The control's filter bar is not closed once I click the close button (toggle)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Variant h
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellValue of hoItems h 0 to "<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
	Send Destroy to hoItems
	Set ComFilterBarCaption to "`<r><fgcolor=808080>` + value"
	Set ComFilterBarPromptPattern to "B"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarToggle + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1042
How can I display the control's filter on a single line

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarCaption to "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`"
	Set ComFilterBarPromptVisible to (OLEexFilterBarSingleLine + OLEexFilterBarVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1041
How can I display the control's filter on a single line (prompt-combined)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarCaption to "`<r>` + value"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item A|Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1040
How can I get the number of results after a filter is applied

// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Send ComClearFilter
End_Procedure

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComMatchItemCount of hoItems to v
	Send Destroy to hoItems
	Showln "Items.MatchItemCount" v
	Variant vA
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComMatchItemCount of hoItems1 to vA
	Send Destroy to hoItems1
	Showln (ComFormatABC(Self,"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",vA,Nothing,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 "Item A" to Nothing
		Get ComAddItem of hoItems2 "Item B" to Nothing
		Get ComAddItem of hoItems2 "Item C" to Nothing
	Send Destroy to hoItems2
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComFilterBarPromptPattern to "Item"
	Send ComEndUpdate
End_Procedure
1039
How can I programmatically clear the control's filter
// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Send ComClearFilter
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComFilterBarPromptPattern to "B"
	Send ComEndUpdate
End_Procedure
1038
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptPattern to "B"
	Set ComFilterBarPromptVisible to (OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1037
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComFilterBarPromptPattern to "B"
	Send ComEndUpdate
End_Procedure
1036
Is it possible to prevent closing the control's filter bar, so it is always shown

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarCaption to "len(value) = 0 ? `<fgcolor=808080>no filter` : value"
	Set ComFilterBarPromptVisible to OLEexFilterBarVisible
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilterType of hoColumn2 to OLEexFilter
			Set ComFilter of hoColumn2 to "Item B"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1035
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComVisualDesign to "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiCQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhghWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMhAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggloFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTKMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhFkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEgEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxSCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUBoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1034
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 3 "gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=" to Nothing
		Get ComAdd of hoAppearance 1 "CP:3 -2 -2 2 2" to Nothing
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=" to Nothing
		Get ComAdd of hoAppearance 2 "CP:4 -2 -2 2 2" to Nothing
	Send Destroy to hoAppearance
	Set ComLinesAtRoot to OLEexGroupLinesAtRoot
	Set ComHasButtons to OLEexCustom
	Set ComHasButtonsCustom False to 16777216
	Set ComHasButtonsCustom True to 33554432
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1033
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "XP:TREEVIEW 2 1" to Nothing
		Get ComAdd of hoAppearance 2 "XP:TREEVIEW 2 2" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexTreeGlyphOpen to |CI$1000000
	Set ComBackground OLEexTreeGlyphClose to |CI$2000000
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1032
How can I find if the control is running in DPI mode
Procedure OnCreate
	Forward Send OnCreate
	Showln (ComFormatABC(Self,"dpi = 1 ? `normal/stretch mode` : `dpi mode`",Nothing,Nothing,Nothing))
End_Procedure
1031
How can I change the visual appearance of the +/- buttons (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=" to Nothing
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=" to Nothing
	Send Destroy to hoAppearance
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComBackground OLEexTreeGlyphOpen to |CI$1000000
	Set ComBackground OLEexTreeGlyphClose to |CI$2000000
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1030
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Showln "SelectionChanged"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComFreezeEvents True
	Set ComSingleSel to True
	Set ComSelectOnRelease to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 apos `A-Z`"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Set ComSelectItem of hoItems (ComAddItem(hoItems,"")) to True
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComFreezeEvents False
	Send ComEndUpdate
End_Procedure
1029
Is it possible to select nothing
// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Showln "SelectionChanged"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComFreezeEvents True
	Set ComAllowSelectNothing to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 apos `A-Z`"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Set ComSelectItem of hoItems (ComAddItem(hoItems,"")) to True
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComFreezeEvents False
	Send ComEndUpdate
End_Procedure
1028
How can I specify the color for control's selection when it loses the focus

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowSizing of hoColumn to False
			Set ComAllowDragging of hoColumn to False
			Set ComAllowSort of hoColumn to False
			Set ComWidth of hoColumn to 24
			Set ComDef of hoColumn OLEexCellHasButton to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Column" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 apos `A-Z`"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Set ComSelectItem of hoItems (ComAddItem(hoItems,"")) to True
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Set ComBackground OLEexSelBackColorHide to (RGB(196,196,196))
	Set ComBackground OLEexSelForeColorHide to (RGB(0,0,1))
	Send ComEndUpdate
End_Procedure
1027
How can I change the background color for checked items (EBN color, frame)

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComSelBackMode to OLEexTransparent
	Set ComDefaultItemHeight to 22
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcFqXFSLVxNBKAQEBA=" to Nothing
		Get ComAdd of hoAppearance 1 "CP:2 1 1 -1 -1" to Nothing
	Send Destroy to hoAppearance
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0 = 1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to |CI$1000000
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1026
How can I change the caption of the checked items (sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1025
How can I change the caption of the checked items (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1024
How can I change the font for the checked items

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDefaultItemHeight to 22
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0 = 1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Variant f
			Get Comcreateobject of hoConditionalFormat "StdFont" to f
				Variant v
					Variant voStdFont
					Get ComFont to voStdFont
					Handle hoStdFont
					Get Create (RefClass(cComStdFont)) to hoStdFont
					Set pvComObject of hoStdFont to voStdFont
						Get ComName of hoStdFont to v
					Send Destroy to hoStdFont
				Set ComName of hoConditionalFormat to v
				Set ComSize of hoConditionalFormat to 12
			Send Destroy to hoConditionalFormat
			Set ComFont of hoConditionalFormats to f
		Send Destroy to hoConditionalFormats
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1023
How can I bold the checked items

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0 = 1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1022
How can I change the foreground color for checked items

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0 = 1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(255,128,128))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1021
How can I change the background color for checked items (solid color)

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0 = 1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(255,128,128))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1020
How can I export the cell's state as well

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 index `A-Z`"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "C3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "100 index ``"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) Nothing to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) Nothing to 1
	Send Destroy to hoItems
	Send ComEndUpdate
	Showln "Export CSV Items including Check-State:"
	Send ComBeginUpdate
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn3
		Get ComAdd of hoColumns1 "Check" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComPosition of hoColumn3 to 0
			Set ComFormatColumn of hoColumn3 to "%CS0"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns1
	Showln (ComExport(Self,"",Nothing))
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Send ComRemove of hoColumns2 "Check"
	Send Destroy to hoColumns2
	Send ComEndUpdate
End_Procedure
1019
Is it possible to customize the editor selection colour of the built in text editor, from standard blue to black

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackColor to (RGB(0,0,0))
	Set ComSelForeColor to (RGB(255,255,255))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to ";;;rich"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "Just a text" to Nothing
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1018
Is it possible to customize the editor selection colour of the built in dropdown editor, from standard blue to black

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackColor to (RGB(0,0,0))
	Set ComSelForeColor to (RGB(255,255,255))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDown" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Send ComAddItem of hoEditor 1 "This is just the first item" Nothing
				Send ComAddItem of hoEditor 2 "This is just the second item" Nothing
				Send ComAddItem of hoEditor 3 "This is just the third item" Nothing
				Set ComEditType of hoEditor to OLEDropDownType
				Set ComMask of hoEditor to ";;;rich"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "Just a text" to Nothing
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1017
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that
// Fired before an item is about to be expanded (collapsed).
Procedure OnComBeforeExpandItem HITEM   llItem Variant   llCancel
	Forward Send OnComBeforeExpandItem llItem llCancel
	Showln "BeforeExpandItem" llItem
	Showln "ColumnFromPoint" (ComColumnFromPoint(Self,-1,-1))
	Showln "ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs."
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComInsertItem of hoItems llItem "new child" to Nothing
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComItemHasChildren of hoItems1 (ComInsertItem(hoItems1,,"Group 1")) to True
		Set ComItemHasChildren of hoItems1 (ComInsertItem(hoItems1,,"Group 2")) to True
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1016
How do I change the drop down filter icon/button (black)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1000000
	Set ComBackground OLEexBackColorFilter to (RGB(0,0,1))
	Set ComBackground OLEexForeColorFilter to (RGB(255,255,255))
	Set ComDescription OLEexFilterBarExclude to "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
	Set ComHeaderAppearance to OLENone2
	Set ComBackColorHeader to (RGB(0,0,0))
	Set ComForeColorHeader to (RGB(255,255,255))
	Set ComHeaderVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Filter" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowCheckBox)
			Set ComDisplayFilterButton of hoColumn to True
			Set ComAllowSort of hoColumn to False
			Set ComAllowDragging of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "One" to Nothing
		Get ComAddItem of hoItems "Two" to Nothing
		Get ComAddItem of hoItems "Three" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1015
How do I change the drop down filter icon/button (white)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=" to Nothing
		Get ComAdd of hoAppearance 1 "CP:2 -4 -4 2 4" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1000000
	Set ComBackground OLEexCursorHoverColumn to (ComBackColor(Self))
	Set ComHeaderAppearance to OLENone2
	Set ComHeaderHeight to 24
	Set ComBackColorHeader to (RGB(255,255,255))
	Set ComHeaderVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Filter" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComAllowSort of hoColumn to False
			Set ComAllowDragging of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
1014
How can I draw a solid frame around the the focusing item

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSingleSel to False
	Set ComDefaultItemHeight to 20
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Set ComRenderType of hoAppearance to -1
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wHIURRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJTULDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLREE8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4EoFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA=" to Nothing
	Send Destroy to hoAppearance
	Set ComShowFocusRect to True
	Set ComBackground OLEexShowFocusRect to |CI$1000000
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "P1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1013
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSingleSel to False
	Set ComDefaultItemHeight to 20
	Set ComShowFocusRect to True
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Set ComRenderType of hoAppearance to -1
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzVAcRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+VLQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTRWjOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg=" to Nothing
		Get ComAdd of hoAppearance 3 "CP:2 -3 0 3 0" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexShowFocusRect to |CI$3010101
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "P1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1012
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSingleSel to False
	Set ComShowFocusRect to True
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVAceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrEJ7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo7GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DYBg/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQOCOXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoRoNiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtAsMpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJwNkKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQfQ0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6AOBEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA==" to Nothing
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQHIMRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSWJajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw1COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHKUggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4JEYVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+TZDHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA=" to Nothing
		Get ComAdd of hoAppearance 3 "CP:2 -2 0 2 0" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$1000000
	Set ComSelForeColor to (RGB(0,0,0))
	Set ComBackground OLEexShowFocusRect to |CI$3ff0000
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "P1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1011
I have a column right-aligned. How can I display its check box aligned to the right, as it appears to the left of the cell's caption

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Left" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 96
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComFormatColumn of hoColumn to "0 pos `A-Z`"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Center" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHeaderAlignment of hoColumn1 to OLECenterAlignment
			Set ComAlignment of hoColumn1 to (ComHeaderAlignment(hoColumn1))
			Set ComAllowSizing of hoColumn1 to False
			Set ComWidth of hoColumn1 to 96
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComFormatColumn of hoColumn1 to "0 pos `A-Z`"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Right" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHeaderAlignment of hoColumn2 to OLERightAlignment
			Set ComAlignment of hoColumn2 to (ComHeaderAlignment(hoColumn2))
			Set ComAllowSizing of hoColumn2 to False
			Set ComWidth of hoColumn2 to 96
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComFormatColumn of hoColumn2 to "0 pos `A-Z`"
			Set ComDef of hoColumn2 OLEexCellDrawPartsOrder to "caption,check,icon,icons,picture"
		Send Destroy to hoColumn2
		Get ComAdd of hoColumns "" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 1")) 3 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 2 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) 1 to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1010
Can I display the column's multiple-lines caption vertically oriented (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 48
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "And others ..." to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "First Column"
			Set ComHeaderVertical of hoColumn to True
			Set ComWidth of hoColumn to 36
			Set ComAllowSizing of hoColumn to False
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComDef of hoColumn OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn to 0
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "<c><b>Second Column"
			Set ComHeaderVertical of hoColumn1 to True
			Set ComWidth of hoColumn1 to 36
			Set ComAllowSizing of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComDef of hoColumn1 OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn1 to 1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHTMLCaption of hoColumn2 to "<r>Third Column"
			Set ComHeaderVertical of hoColumn2 to True
			Set ComWidth of hoColumn2 to 36
			Set ComAllowSizing of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComDef of hoColumn2 OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn2 to 2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 1")) 3 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 2 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) 1 to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1009
Can I display the column's multiple-lines caption vertically oriented (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 48
	Set ComHeaderSingleLine to False
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "And others ..." to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "First Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHeaderVertical of hoColumn to True
			Set ComWidth of hoColumn to 36
			Set ComAllowSizing of hoColumn to False
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComDef of hoColumn OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn to 0
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Second Column" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHeaderBold of hoColumn1 to True
			Set ComHeaderVertical of hoColumn1 to True
			Set ComWidth of hoColumn1 to 36
			Set ComAllowSizing of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComDef of hoColumn1 OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn1 to 1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Third Column" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHeaderVertical of hoColumn2 to True
			Set ComWidth of hoColumn2 to 36
			Set ComAllowSizing of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComDef of hoColumn2 OLEexCellPaddingLeft to 8
			Set ComPosition of hoColumn2 to 2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 1")) 3 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 2 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) 1 to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1008
Can I display the column's caption vertically oriented (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 48
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "And others ..." to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "First"
			Set ComHeaderVertical of hoColumn to True
			Set ComWidth of hoColumn to 20
			Set ComAllowSizing of hoColumn to False
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn to 0
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "<c><b>Second"
			Set ComHeaderVertical of hoColumn1 to True
			Set ComWidth of hoColumn1 to 20
			Set ComAllowSizing of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn1 to 1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHTMLCaption of hoColumn2 to "<r>Third"
			Set ComHeaderVertical of hoColumn2 to True
			Set ComWidth of hoColumn2 to 20
			Set ComAllowSizing of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn2 to 2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 1")) 3 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 2 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) 1 to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1007
Can I display the column's caption vertically oriented (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 48
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "And others ..." to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "First" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHeaderVertical of hoColumn to True
			Set ComWidth of hoColumn to 20
			Set ComAllowSizing of hoColumn to False
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn to 0
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Second" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHeaderBold of hoColumn1 to True
			Set ComHeaderVertical of hoColumn1 to True
			Set ComWidth of hoColumn1 to 20
			Set ComAllowSizing of hoColumn1 to False
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn1 to 1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Third" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHeaderVertical of hoColumn2 to True
			Set ComWidth of hoColumn2 to 20
			Set ComAllowSizing of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellHasCheckBox to True
			Set ComPosition of hoColumn2 to 2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 1")) 3 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 2 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 3")) 1 to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1006
How do I automatically bold items being checked

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackMode to OLEexTransparent
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CS0" "check" to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
Variant vColumnCaption
			Variant voConditionalFormats1
			Get ComConditionalFormats to voConditionalFormats1
			Handle hoConditionalFormats1
			Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats1
			Set pvComObject of hoConditionalFormats1 to voConditionalFormats1
				Variant voConditionalFormat1
				Get ComItem of hoConditionalFormats1 "check" to voConditionalFormat1
				Handle hoConditionalFormat1
				Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
				Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
					Variant voConditionalFormat2
					Get ComItem of hoConditionalFormat1 "check" to voConditionalFormat2
					Handle hoConditionalFormat2
					Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
					Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
						Get ComExpression of hoConditionalFormat2 to vColumnCaption
					Send Destroy to hoConditionalFormat2
				Send Destroy to hoConditionalFormat1
			Send Destroy to hoConditionalFormats1
				Variant voColumn1
		Get ComAdd of hoColumns1 vColumnCaption to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant v
				Variant voConditionalFormats2
				Get ComConditionalFormats to voConditionalFormats2
				Handle hoConditionalFormats2
				Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats2
				Set pvComObject of hoConditionalFormats2 to voConditionalFormats2
					Variant voConditionalFormat3
					Get ComItem of hoConditionalFormats2 "check" to voConditionalFormat3
					Handle hoConditionalFormat3
					Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat3
					Set pvComObject of hoConditionalFormat3 to voConditionalFormat3
						Variant voConditionalFormat4
						Get ComItem of hoConditionalFormat3 "check" to voConditionalFormat4
						Handle hoConditionalFormat4
						Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat4
						Set pvComObject of hoConditionalFormat4 to voConditionalFormat4
							Get ComExpression of hoConditionalFormat4 to v
						Send Destroy to hoConditionalFormat4
					Send Destroy to hoConditionalFormat3
				Send Destroy to hoConditionalFormats2
			Set ComFormatColumn of hoColumn1 to v
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Set ComCellState of hoItems (ComAddItem(hoItems,"Item 2")) 0 to 1
		Get ComAddItem of hoItems "Item 3" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1005
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexGroupLinesInsideLeaf
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Format" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "%CS0"
			Set ComCaption of hoColumn1 to (ComFormatColumn(hoColumn1))
			Set ComDef of hoColumn1 OLEexCellForeColor to 8421504
			Set ComDef of hoColumn1 OLEexHeaderForeColor to (ComDef(hoColumn1,OLEexCellForeColor))
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Item 1" to Nothing
		Set ComCellState of hoItems (ComInsertItem(hoItems,h,"Item 2")) 0 to 1
		Set ComCellState of hoItems (ComInsertItem(hoItems,h,"Item 3")) 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1004
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "Format" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "%CD0"
			Set ComCaption of hoColumn to (ComFormatColumn(hoColumn))
			Set ComDef of hoColumn OLEexCellForeColor to 8421504
			Set ComDef of hoColumn OLEexHeaderForeColor to (ComDef(hoColumn,OLEexCellForeColor))
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellData of hoItems (ComAddItem(hoItems,"Item 1")) 0 to 1234
		Set ComCellData of hoItems (ComAddItem(hoItems,"Item 2")) 0 to "this is just an user data"
		Set ComCellData of hoItems (ComAddItem(hoItems,"Item 3")) 0 to "1/1/2001"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1003
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 1 "Item 1" Nothing
				Send ComAddItem of hoEditor 2 "Item 2" Nothing
				Send ComAddItem of hoEditor 3 "Item 3" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Format" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "%0"
			Set ComCaption of hoColumn1 to (ComFormatColumn(hoColumn1))
			Set ComDef of hoColumn1 OLEexCellForeColor to 8421504
			Set ComDef of hoColumn1 OLEexHeaderForeColor to (ComDef(hoColumn1,OLEexCellForeColor))
			Set ComAllowSizing of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Format" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "%C0"
			Set ComCaption of hoColumn2 to (ComFormatColumn(hoColumn2))
			Set ComDef of hoColumn2 OLEexCellForeColor to 8421504
			Set ComDef of hoColumn2 OLEexHeaderForeColor to (ComDef(hoColumn2,OLEexCellForeColor))
			Set ComAllowSizing of hoColumn2 to False
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1 to Nothing
		Set ComCellValue of hoItems (ComAddItem(hoItems,0)) 0 to 2
		Get ComAddItem of hoItems 2 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1002
Can I display the radio-button with a solid color

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComRadioImage False to 32699122
	Set ComRadioImage True to 16777216
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasRadioButton to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Radio 1" to Nothing
		Set ComCellState of hoItems (ComAddItem(hoItems,"Radio 2")) 0 to 1
		Get ComAddItem of hoItems "Radio 1" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1001
Can I display the check-box with a solid color

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComCheckImage OLEUnchecked to 32699122
	Set ComCheckImage OLEChecked to 16777216
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Check 1" to Nothing
		Set ComCellState of hoItems (ComAddItem(hoItems,"Check 2")) 0 to 1
		Get ComAddItem of hoItems "Check 3" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure